home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-02
/
tpreal2.zip
/
RLIB.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
1992-03-20
|
2KB
|
83 lines
{$N-}{$A+}
unit rlib;
interface
var matherrptr:pointer;
function _mul(x,y:real):real;
function _div(x,y:real):real;
function _sqrt(x:real):real;
function _arctan(x:real):real;
function _exp(x:real):real;
function _ln(x:real):real;
function _sin(x:real):real;
function _cos(x:real):real;
implementation
{$L 00} {$L 01} {$L 02} {$L 03} {$L 04} {$L 06}
{$L 10} {$L 11} {$L 12} {$L 13} {$L 14}
{$L 22} {$L 23} {$L 30} {$L 31} {$L 32} {$L 33} {$L 34}
function _mul(x,y:real):real;external;
function _div(x,y:real):real;external;
function _sqrt(x:real):real;external;
function _arctan(x:real):real;external;
function _exp(x:real):real;external;
function _ln(x:real):real;external;
function _sin(x:real):real;external;
function _cos(x:real):real;external;
procedure _001;external;
procedure _00;external;
procedure _01;external;
procedure _02;external;
procedure _03;external;
procedure _04;external;
procedure _06;external;
procedure _10;external;
procedure _11;external;
procedure _12;external;
procedure _13;external;
procedure _14;external;
procedure _15;external;
procedure hex(w:word);
var
i,j:word;
begin
for i:=1 to 4 do
begin
j:=(hi(w) and $f0) shr 4;
w:=w shl 4;
case j of
0..9:write(j);
else write(chr(j+55));
end;
end;
end;
{$F+}
procedure matherror(errorcode,segment,offset:word);
begin
case errorcode of
1:write('Division by zero');
2:write('Floating point overflow');
3:write('Illegal function call');
end;
write(' at ');hex(segment);write(':');hex(offset-5);writeln;
halt;
end;
begin
matherrptr:=@matherror;
end.